package com.sg.jsoup;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

/**
 * 介绍：
 * jsoup 是一款 Java 的 HTML 解析器，可直接解析某个 URL 地址、HTML 文本内容。
 * 它提供了一套很是省力的 API，可经过 DOM，CSS 以及相似于 jQuery 的操做方法来
 * 取出和操做数据。
 * <p>
 * <p>
 * 题目要求
 * 用java解析bdqn.html,分析每个标签出现的次数
 * 然后输出,类似
 * div 13次
 * li  20次
 * （存入Map,放入新元素的判断是否已存在，不存在，加入；存在，数量加1）
 *
 * @author shkstart
 * @creat 2022-06-19:52
 */
public class Test {
    public static void main(String[] args) {

        Map<String, Integer> map = new HashMap<>();
        Document doc = null;
        File html = new File("D:\\FileRecv\\bdqn.html");
        try {
            doc = Jsoup.parse(html, "utf-8");

            Elements select = doc.select("*");
            for (Element element : select) {
                if (!map.containsKey(element.tagName())) {
                    map.put(element.tagName(), 1);
                    continue;
                }
                map.put(element.tagName(), map.get(element.tagName()) + 1);

            }
            System.out.println(map);

        } catch (IOException e1) {
            e1.printStackTrace();
        }

    }

}


